#ifndef _NETWORK_H_
#define _NETWORK_H_

#include <esp_log.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <esp_system.h>

#include <esp_event.h>
#include <nvs_flash.h>
#include <esp_netif.h>
#include <lwip/sockets.h>
#include <lwip/inet.h>


#ifdef __cplusplus
extern "C" {
#endif

typedef unsigned char uc8;
typedef unsigned int ui32;

typedef struct sockaddr SA;




// 模式选择标志
#define TCPCLIMODE 0    // TCP客户端模式
#define TCPSERMODE 1    // TCP服务端模式
#define UDPCLIMODE 2    // UDP客户端模式
#define UDPSERMODE 3    // UDP服务端模式

extern char* TAG[4];

// IP和PORT绑定结构体
extern struct sockaddr_in tcpSockAddr;
extern struct sockaddr_in tcpSockCliAddr; // 接受TCP客户端数据结构体
extern struct sockaddr_in udpSockAddr;
extern struct sockaddr_in udpSockCliAddr; // 接受UDP客户端数据结构体

extern int TCP_Init(char* IP, int* PORT, int mode);
extern int UDP_Init(char* IP, int* PORT, int mode);

#ifdef __cplusplus
} /*extern "C"*/
#endif


#endif

